package cn.iocoder.yudao.module.mzt.dal.mysql.systemconfig;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.mzt.dal.dataobject.systemconfig.SystemConfigDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.mzt.controller.admin.systemconfig.vo.*;

/**
 * 系统配置 Mapper
 *
 * @author Geordie
 */
@Mapper
public interface SystemConfigMapper extends BaseMapperX<SystemConfigDO> {

    default PageResult<SystemConfigDO> selectPage(SystemConfigPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<SystemConfigDO>()
                .likeIfPresent(SystemConfigDO::getConfigType, reqVO.getConfigType())
                .likeIfPresent(SystemConfigDO::getConfigKey, reqVO.getConfigKey())
                .eqIfPresent(SystemConfigDO::getConfigValue, reqVO.getConfigValue())
                .eqIfPresent(SystemConfigDO::getValueType, reqVO.getValueType())
                .eqIfPresent(SystemConfigDO::getStatus, reqVO.getStatus())
                .likeIfPresent(SystemConfigDO::getRemark, reqVO.getRemark())
                .betweenIfPresent(SystemConfigDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(SystemConfigDO::getId));
    }

}